package com.qfmy.app.service.user;

import com.qfmy.app.vo.user.UserVo;
import com.qfmy.model.entity.query.LoginQuery;
import com.qfmy.model.entity.vo.CaptchaVo;

import java.util.Map;

/**
 * @author 清风明月
 * @Package com.qfmy.app.service.user
 * @date 2025/4/13
 * @description 用户service
 */
@SuppressWarnings("all")
public interface UserService {

    /**
     * 获取验证码
     * @return
     */
    CaptchaVo getCode();

    /**
     * 获取短信验证码
     * @return
     */
    void getSmsCode(String phone);

    /**
     * 登录
     * @param phone
     * @param code
     * @return
     */
    Map<String, String> login(String phone, String code);

    /**
     * 注册
     * @param user
     */
    void register(LoginQuery user);

    /**
     * 修改密码
     * @param user
     */
    void updatePassword(LoginQuery user);

    /**
     * 刷新token
     * @param refreshToken
     * @return
     */
    Map<String, String> refreshToken(String refreshToken);

    /**
     * 获取用户信息
     * @return
     */
    UserVo getInfo();

    /**
     * 退出登录
     */
    void logout();

    /**
     * 修改用户信息
     * @param userVo
     */
    void updateInfo(UserVo userVo);

    /**
     * 修改密码
     * @param oldPassword
     * @param password
     */
    void UpdatePassword(String oldPassword, String password);
}
